feat: allow empty string as defaultValue in @Schema #4974
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Pull Request
Thank you for contributing to swagger-core!
Please fill out the following information to help us review your PR efficiently.
Description
This PR addresses the behavior where a
defaultValue
set to an empty string (""
) on a@Schema
annotation is ignored and not included in the generated OpenAPI specification.defaultValue = ""
is treated the same as having nodefaultValue
at all. This can cause problems for code generation tools (like for Dart or other languages) that rely on the presence of thedefaultValue
property to differentiate optional fields from required ones.feat
). It improves an existing behavior to better align with developer expectations and broader tool compatibility.Closes: #4838 (This is the issue you provided in the previous prompt)
Type of Change
Checklist
Screenshots / Additional Context
AnnotationsUtils.java
to processdefaultValue
properties even when they contain a blank or empty string. The conditionif (StringUtils.isNotBlank(schema.defaultValue()))
is updated to a less restrictive check, such asif (schema.defaultValue() != null)
.emptyDefaultValue
) that verifies the correct behavior.